﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	//打开文件
//	FILE* ptr = fopen("my_file.txt", "w");
//	//文件操作
//	if (ptr != NULL)
//	{
//		fputc("Hello world!", ptr);
//	}
//	//关闭文件
//	fclose(ptr);
//	ptr = NULL;
//	return 0;
//}
//#include<stdio.h>//fget()
//int main()
//{
//	FILE* pf = fopen("fgetc.txt", "r");//打开文件
//	if (pf ==NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//用fgetc读文件
//	int ch = 0;
//	while ((ch = fgetc(pf)) != EOF)
//	{
//		printf("%c", ch);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
//#include<stdio.h>//fputc
//int main()
//{
//	FILE* pf = fopen("fputc.txt", "r");//打开文件
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char ch = 0;
//	//for (ch = 'a'; ch <='z'; ch++)//用fputc写文件
//	//{
//	//	fputc(ch, pf);
// //   }
//	while ((ch = fgetc(pf)) != EOF)//读文件
//	{
//		printf("%c", ch);
//	}
//	fclose(pf);//关闭文件
//	pf = NULL;
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	FILE* pf = fopen("fputs.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char arr[256] = { 0 };
//	while(fgets(arr, 10, pf )!= NULL)//读文件
//	{
//		printf("%s", arr);
//	}
//	fclose(pf);//关闭文件
//	pf = NULL;
//	return 0;
//}
//#include<stdio.h>
//struct S
//{
//	char name[30];
//	int age;
//	float score;
//};
//int main()
//{
//	struct S s= { "张三",21,52.3f };
//	//把s中的数据存放在文件中
//	FILE* pf = fopen("fprintf.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读文件
//	fscanf(pf, "%s %d %f", s.name, &(s.age), &(s.score));
//	//打印在屏幕上
//	printf("%s %d %f", s.name, s.age, s.score);
//	fclose(pf);//关闭文件
//	pf = NULL;
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5 };
//	FILE* pf = fopen("fwrite.txt", "rb");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读数据
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	fread(arr, sizeof(arr[0]), sz, pf);//以二进制的方法读
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
#include<stdio.h>
int main()
{
	FILE* pf = fopen("fgetc.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}
	int ch = fgetc(pf);
	printf("%c\n", ch);//H
	fseek(pf, 3, SEEK_CUR);//在H的起始位置向后面再走3个
	 ch = fgetc(pf);
	printf("%c\n", ch);//0
	printf("%d\n", ftell(pf));//偏移量
	rewind(pf);
	ch = fgetc(pf);
	printf("%c\n", ch);
	pf = NULL;
	return 0;
}